<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 使用promise：
        // 1.创建promise对象(封装成方法)
        // 2.使用promise对象，之前是.then.catch,但现在async和await
        function axios(options) {
            // 创建promise对象
            return new Promise((resolve,reject) => {
                // 创建xhr对象
                const xhr = new XMLHttpRequest()
                // 设置请求方式和地址
                xhr.open(options.method,options.url)
                // 设置请求体
                xhr.send(null)

                // 监听请求
                xhr.onreadystatechange = function() {
                    if(xhr.readyState === 4) {
                        // 到4才表示请求完全回来了
                        if(xhr.status === 200) {
                            console.log('请求失败')
                            resolve(JSON.parse(xhr.responseText))
                        } else {
                            console.log('请求失败')
                            reject(new Error(xhr.responseText))
                        }
                    }
                }
            })
        }

        async function fn() {
            try {
                const resAll = await axios({
                    method: 'get',
                    url:'http://localhost:3000/heroes'
                })
                console.log(resAll)
                console.log(111)

                const res = await axios({
                    method: 'get',
                    url: 'http://localhost:3000/heroes/10013'
                })
                console.log(res)
            }catch(err) {
                console.log(err)
            }
        }
        fn()
    </script>
</body>
</html>